|
|
| Menüeintrag |
|---|
| Keiner |
| Arbeitsbereich |
| Reinforcement |
| Standardtastenkürzel |
| Keiner |
| Eingeführt in Version |
| 0.19 |
| Siehe auch |
| Keiner |
Das Werkzeug Reinforcement ZeichnungBemaßen ermöglicht dem Anwender Zeichnungen mit Bemaßung von Bewehrungen zu erstellen.
Dieses Werkzeug ist Teil des Arbeitsbereichs Reinforcement, ein externer Arbeitsbereich, der mit dem Addon-Manager installiert werden kann.
Zeichnung von Bewehrungen, mit Bemaßung
1. Ein FreeCAD-Modell öffnen, dass Bewehrungen enthält, die mit dem Addon Reinforcement erstellt wurden.
2. Wähle das Struktur-Objekt und anschließend die Schaltfläche
Zeichnung bemaßen aus den Bewehrungs-Werkzeugen.
3. Eine Dialog-Box wird sich öffnen, wie unten gezeigt.
4. Alle Details zur Strichstärke und Farbe der Bewehrung und Struktur eingeben.
5. Klicke auf Weiter und das Dialogfeld wird wie unten gezeigt aktualisiert.
6. Optionen für Zeichnungsansichten, Bemaßungen und Versatzdetails eingeben.
7. Klicke auf Weiter und das Dialogfeld wird wie unten gezeigt aktualisiert.
8. Die Maßangaben und Linienstärken eingeben.
9. Klicke auf Weiter und das Dialogfeld wird wie unten gezeigt aktualisiert.
10. Die Abmessungen für einzelne und mehrere Bewehrungsstäbe eingeben.
11. Klicke auf Weiter und das Dialogfeld wird wie unten gezeigt aktualisiert.
12. Die Details zu den Abmessungen und den Versätzen der Maßlinien eingeben.
13. Auf die Schaltfläche Finish klicken, um Zeichnungen zu erstellen.
Siehe auch: Arch API,Reinforcement-API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Reinforcement ZeichnungBemaßen kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:
from ReinforcementDrawing import make_reinforcement_drawing
structure_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
structure_list=None,
rebars_list=None,
view="Front",
rebars_stroke_width=0.35,
rebars_color_style="Automatic",
rebars_color=(0.67, 0.0, 0.0),
structure_stroke_width=0.5,
structure_color_style="Automatic",
structure_color=(0.3, 0.9, 0.91),
drawing_left_offset=20,
drawing_top_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
perform_dimensioning=True,
dimension_rebars_filter_list=None,
dimension_label_format="%M %C⌀%D,span=%S",
dimension_font_family="DejaVu Sans",
dimension_font_size=3,
dimension_stroke_width=0.25,
dimension_line_style="Continuous",
dimension_line_color=(0.0, 0.0, 0.50),
dimension_text_color=(0.0, 0.33, 0.0),
dimension_single_rebar_line_start_symbol="None",
dimension_single_rebar_line_end_symbol="FilledArrow",
dimension_multi_rebar_line_start_symbol="FilledArrow",
dimension_multi_rebar_line_end_symbol="FilledArrow",
dimension_line_mid_point_symbol="Dot",
dimension_left_offset=10,
dimension_right_offset=10,
dimension_top_offset=10,
dimension_bottom_offset=10,
dimension_left_offset_increment=6,
dimension_right_offset_increment=6,
dimension_top_offset_increment=6,
dimension_bottom_offset_increment=6,
dimension_single_rebar_outer_dim=False,
dimension_multi_rebar_outer_dim=True,
dimension_single_rebar_text_position_type="StartOfLine",
dimension_multi_rebar_text_position_type="MidOfLine",
)
structure_drawing_page_dict zurück, ein Wörterbuch mit der Struktur als Schlüssel und der entsprechenden Bewehrungszeichnung als Wert.structure_list ist die Liste der Strukturobjekte, für die eine Bewehrungszeichnung erstellt werden soll. Wenn diese nicht angegeben wird, werden die Strukturen aus dem aktiven Dokument ausgewählt, das als Host für Bewehrungsobjekte dient.rebars_list ist die Liste der Bewehrungsobjekte, die in die Zeichnung aufgenommen werden sollen. Wenn diese nicht angegeben wird, werden die Bewehrungsobjekte mit Host in structure_list aus dem aktiven Dokument ausgewählt.view gibt die Ansicht der zu erstellenden Zeichnung an. Mögliche Werte sind „Front“ (Vorne), „Rear“ (Hinten), „Left“ (Links), „Right“ (Rechts), „Top“ (Oben) oder „Bottom“ (Unten).rebars_stroke_width gibt die Strichstärke der Bewehrungsstäbe in der SVG-Zeichnung an.rebars_color_style gibt den Farbstil der Bewehrungsstäbe an. Ihn auf „Automatic“ (Automatisch) setzen, um die Farbe der Bewehrungsstäbe automatisch auszuwählen, oder auf „Custom“ (Benutzerdefiniert), um den Farbwert der Form aus der Variablen rebars_color auszuwählen.rebars_color gibt die Füllfarbe für Bewehrungsstäbe in der SVG-Zeichnung an.Format: (r, g, b) Die Werte für r, g und b müssen zwischen 0 und 1 liegen. Daher müssen die Werte für r, g und b möglicherweise durch 255 geteilt werden, um einen Wert zwischen 0 und 1 zu erhalten. Sicherstellen, dass r, g und b Float-Werte sind. Beispiel: (0,67, 0,0, 0,0)
structure_stroke_width legt die Strichstärke der Struktur in der SVG-Zeichnung fest.structure_color_style gibt den Füllstil der Struktur an. Ihn auf „Automatic“ (Automatisch) setzen, um die Strukturfarbe automatisch auszuwählen, oder auf „Custom“ (Benutzerdefiniert), um den Strukturfarbwert aus der Variablen structure_color auszuwählen.structure_color gibt die Füllfarbe für die Struktur in der SVG-Zeichnung an. Format: (r, g, b)drawing_left_offset gibt den linken Versatz der Zeichnungsansicht in template_file an.drawing_top_offset gibt den oberen Versatz der Zeichnungsansicht in template_file an.drawing_min_right_offset gibt den minimalen rechten Versatz der Zeichnungsansicht auf template_file an.drawing_min_bottom_offset gibt den minimalen unteren Versatz der Zeichnungsansicht auf template_file an.drawing_max_width gibt die maximale Breite der Zeichnung auf template_file an.drawing_max_height gibt die maximale Höhe der Zeichnung auf template_file an.template_file ist die Vorlagendatei, die für die Bewehrungszeichnung verwendet werden soll.perform_dimensioning gibt an, ob Bemaßungen für Bewehrungsstäbe in der Zeichnung erstellt werden müssen.dimension_rebars_filter_list ist die Liste der Bewehrungsstäbe, für die Bemaßungen durchgeführt werden sollen. Diesen Wert auf „None“ (Nichts) setzen, um alle sichtbaren Bewehrungsstäbe in der Zeichnung zu bemaßen.dimension_label_format ist das Format, das für die Bemaßungsbeschriftung verwendet wird. Beispiel: „%M %C⌀%D,span=%S“
Hier: %M -> Rebar.Mark
%C -> Rebar.Amount
%D -> Rebar.Diameter
%S -> Rebar span length
dimension_font_family ist die Schriftart der Bemaßungsbeschriftung.dimension_font_size ist die Schriftgröße der Bemaßungsbeschriftung.dimension_stroke_width ist die Strichstärke der Bemaßungslinie.dimension_line_style ist der Strichstil der Bemaßungslinie. Er kann „Continuous” (durchgehend), „Dash” (Strich), „Dot” (Punkt), „DashDot” (Strichpunkt) oder „DashDotDot” (Strichpunktpunkt) sein.dimension_line_color ist die Farbe der Bemaßungslinie.Format: (r, g, b) Die Werte für r, g und b müssen zwischen 0 und 1 liegen. Daher müssen die Werte für r, g und b möglicherweise durch 255 geteilt werden, um einen Wert zwischen 0 und 1 zu erhalten. Sicherstellen, dass r, g und b Fließkommazahl-Werte sind.
dimension_text_color ist die Farbe der Bemaßungsbeschriftung.dimension_single_rebar_line_start_symbol ist das Symbol für den Beginn der Bemaßungslinie, falls eine einzelne Bewehrungsstange sichtbar ist. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_single_rebar_line_end_symbol ist das Symbol für das Ende der Bemaßungslinie, wenn eine einzelne Bewehrung sichtbar ist. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_multi_rebar_line_start_symbol ist das Symbol für den Beginn der Bemaßungslinie, wenn mehrere Bewehrungsstäbe sichtbar sind. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_multi_rebar_line_end_symbol ist das Endsymbol der Bemaßungslinie, wenn mehrere Bewehrungsstäbe sichtbar sind. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_line_mid_point_symbol ist das Symbol für den Mittelpunkt der Bemaßungslinie. Es kann „Tick”, „Dot” oder „None” sein.dimension_left_offset gibt den linken Versatz der Bemaßung von der Zeichnung an.dimension_right_offset gibt den rechten Versatz der Bemaßung von der Zeichnung an.dimension_top_offset gibt den oberen Versatz der Bemaßung von der Zeichnung an.dimension_bottom_offset gibt den unteren Versatz der Bemaßung von der Zeichnung an.dimension_left_offset_increment ist der Inkrementwert für den linken Versatz, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_right_offset_increment ist der Inkrementwert für den rechten Versatz, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_top_offset_increment ist die Erhöhung des oberen Versatzes, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_bottom_offset_increment ist die Erhöhung des unteren Versatzes, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_single_rebar_outer_dim gibt an, ob Bemaßungslinien außerhalb der Bewehrungszeichnung liegen sollen, wenn eine einzelne Bewehrung sichtbar ist.dimension_multi_rebar_outer_dim gibt an, ob Bemaßungslinien außerhalb der Bewehrungszeichnung liegen sollen, wenn mehrere Bewehrungen sichtbar sind.dimension_single_rebar_text_position_type gibt den Positionstyp der Bemaßungsbeschriftung an, wenn eine einzelne Bewehrung sichtbar ist. Er kann „StartOfLine”, „MidOfLine” oder „EndOfLine” sein.dimension_multi_rebar_text_position_type gibt den Positionstyp der Bemaßungsbeschriftung an, wenn mehrere Bewehrungsstäbe sichtbar sind. Er kann „StartOfLine”, „MidOfLine” oder „EndOfLine” sein.
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing
Rect = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect, height=1600)
Structure1.ViewObject.Transparency = 80
Structure2 = Arch.makeStructure(Rect, height=1600)
Structure2.ViewObject.Transparency = 80
Structure2.Placement = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 0))
FreeCAD.ActiveDocument.recompute()
# Create Straight Rebars
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=Structure1,
facename="Face6",
)
# Create LShaped Rebars with hook along x-axis
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
main_rebars_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=40,
ties_sequence=("Tie1", "Tie2"),
structure=Structure2,
facename="Face6",
)
# Create Reinforcement Drawing and Dimensioning
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
struct_drawing_page_dict = make_reinforcement_drawing.makeStructuresReinforcementDrawing(
structure_list=None,
rebars_list=None,
view="Front",
rebars_stroke_width=0.35,
rebars_color_style="Automatic",
rebars_color=(0.67, 0.0, 0.0),
structure_stroke_width=0.5,
structure_color_style="Automatic",
structure_color=(0.3, 0.9, 0.91),
drawing_left_offset=20,
drawing_top_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
perform_dimensioning=True,
dimension_rebars_filter_list=None,
dimension_label_format="%M %C⌀%D,span=%S",
dimension_font_family="DejaVu Sans",
dimension_font_size=3,
dimension_stroke_width=0.25,
dimension_line_style="Continuous",
dimension_line_color=(0.0, 0.0, 0.50),
dimension_text_color=(0.0, 0.33, 0.0),
dimension_single_rebar_line_start_symbol="None",
dimension_single_rebar_line_end_symbol="FilledArrow",
dimension_multi_rebar_line_start_symbol="FilledArrow",
dimension_multi_rebar_line_end_symbol="FilledArrow",
dimension_line_mid_point_symbol="Dot",
dimension_left_offset=10,
dimension_right_offset=10,
dimension_top_offset=10,
dimension_bottom_offset=10,
dimension_left_offset_increment=6,
dimension_right_offset_increment=6,
dimension_top_offset_increment=6,
dimension_bottom_offset_increment=6,
dimension_single_rebar_outer_dim=False,
dimension_multi_rebar_outer_dim=True,
dimension_single_rebar_text_position_type="StartOfLine",
dimension_multi_rebar_text_position_type="MidOfLine",
)
for drawing_page in struct_drawing_page_dict.values():
drawing_view = drawing_page.Views[0]
drawing_view.setExpression(
"LeftOffset",
u".Template.Width.Value / 2 - .Width.Value * .Scale / 2",
)
drawing_view.setExpression(
"TopOffset",
u".Template.Height.Value / 2 - .Height.Value * .Scale / 2",
)
drawing_view.recompute(True)
drawing_page.recompute(True)
1. Ein FreeCAD-Modell öffnen, dass Bewehrungen enthält, die mit dem Addon Reinforcement erstellt wurden.
2. In der FreeCAD-Python-Konsole den folgenden Codeausschnitt kopieren, um für jedes Arch Struktur-Element eine Bewehrungszeichnung aus verschiedenen Ansichten zu erstellen.
from ReinforcementDrawing.make_reinforcement_drawing import (
makeStructuresReinforcementDrawing,
)
for view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
makeStructuresReinforcementDrawing(view=view)
Ein SVG-Ansichtsobjekt für Bewehrungsstahlzeichnungen.
Siehe auch: Architektur API, Bewehrung API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Reinforcement Zeichnen kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:
from ReinforcementDrawing.make_reinforcement_drawing import (
makeReinforcementDrawing,
)
reinforcement_drawing_page = makeReinforcementDrawing(
structure,
rebars_list,
view,
rebars_stroke_width,
rebars_color_style,
rebars_color,
structure_stroke_width,
structure_color_style,
structure_color,
drawing_left_offset,
drawing_top_offset,
drawing_min_right_offset,
drawing_min_bottom_offset,
drawing_max_width,
drawing_max_height,
template_file,
dimension_left_offset,
dimension_right_offset,
dimension_top_offset,
dimension_bottom_offset,
)
ReinforcementDrawingView-Objekt für die gegebenen Struktur und Bewehrungs-Objektliste.reinforcement_drawing_page vom Typ TechDraw::DrawPage zurück.view Legt die Ansicht der zu erstellenden Zeichnung fest. Mögliche Optionen sind „Front“ (Vorderseite), „Back“ (Rückseite), „Left“ (Links), „Right“ (Rechts), „Top“ (Oben) oder „Bottom“ (Unten).rebars_stroke_width gibt die Strichstärke der Bewehrungsstäbe in der SVG-Zeichnung an.rebars_color_style gibt den Farbstil der Bewehrungsstäbe an. Ihn auf „Automatic“ (Automatisch) setzen, um die Farbe der Bewehrungsstäbe automatisch auszuwählen, oder auf „Custom“ (Benutzerdefiniert), um den Farbwert der Form aus der Variablen rebars_color auszuwählen.rebars_color legt die Füllfarbe für Bewehrungsstäbe in der SVG-Zeichnung fest.Format: (r, g, b) Die Werte für r, g und b müssen zwischen 0 und 1 liegen. Daher müssen die Werte für r, g und b möglicherweise durch 255 geteilt werden, um einen Wert zwischen 0 und 1 zu erhalten. Sichertellen, dass r, g und b Fließkommazahl-Werte sind. Beispiel: (0,67, 0,0, 0,0)
structure_stroke_width gibt die Strichstärke der Struktur in der SVG-Zeichnung an.structure_color_style gibt den Füllstil der Struktur an. Setzen Sie ihn auf „Automatic“ (Automatisch), um die Strukturfarbe automatisch auszuwählen, oder auf „Custom“ (Benutzerdefiniert), um den Strukturfarbwert aus der Variablen structure_color auszuwählen.structure_color gibt die Füllfarbe für die Struktur in der SVG-Zeichnung an. Format: (r, g, b)drawing_left_offset gibt den linken Versatz der Zeichnungsansicht auf template_file an.drawing_top_offset gibt den oberen Versatz der Zeichnungsansicht auf template_file an.drawing_min_right_offset gibt den minimalen rechten Versatz der Zeichnungsansicht auf template_file an.drawing_min_bottom_offset gibt den minimalen unteren Versatz der Zeichnungsansicht in template_file an.drawing_max_width gibt die maximale Breite der Zeichnung in template_file an.drawing_max_height gibt die maximale Höhe der Zeichnung auf template_file an.template_file ist die Vorlagendatei, die für die Bewehrungszeichnung verwendet werden soll.dimension_left_offset gibt den linken Versatz der Bemaßung von der Zeichnung an.dimension_right_offset gibt den rechten Versatz der Bemaßung von der Zeichnung an.dimension_top_offset gibt den oberen Versatz der Bemaßung von der Zeichnung an.dimension_bottom_offset gibt den unteren Versatz der Bemaßung von der Zeichnung an.
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing
Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()
# Gerade Bewehrungsstäbe erstellen
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=Structure,
facename="Face6",
)
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")
# Reinforcement-Zeichnung erstellen
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
make_reinforcement_drawing.makeReinforcementDrawing(
structure=Structure,
rebars_list=rebars,
view=drawing_view,
rebars_stroke_width=0.35,
rebars_color_style="Automatic",
rebars_color=(0.67, 0.0, 0.0),
structure_stroke_width=0.5,
structure_color_style="Automatic",
structure_color=(0.3, 0.9, 0.91),
drawing_left_offset=20,
drawing_top_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_right_offset=10,
dimension_top_offset=10,
dimension_bottom_offset=10,
)
from ReinforcementDrawing.make_reinforcement_drawing import (
makeStructuresReinforcementDrawing,
)
structure_drawing_page_dict = makeStructuresReinforcementDrawing(
structure_list=None,
rebars_list=None,
view="Front",
rebars_stroke_width=REBARS_STROKE_WIDTH,
rebars_color_style=REBARS_COLOR_STYLE,
rebars_color=REBARS_COLOR,
structure_stroke_width=STRUCTURE_STROKE_WIDTH,
structure_color_style=STRUCTURE_COLOR_STYLE,
structure_color=STRUCTURE_COLOR,
drawing_left_offset=DRAWING_LEFT_OFFSET,
drawing_top_offset=DRAWING_TOP_OFFSET,
drawing_min_right_offset=DRAWING_MIN_RIGHT_OFFSET,
drawing_min_bottom_offset=DRAWING_MIN_BOTTOM_OFFSET,
drawing_max_width=DRAWING_MAX_WIDTH,
drawing_max_height=DRAWING_MAX_HEIGHT,
template_file=TEMPLATE_FILE,
)
structure_drawing_page_dict zurück, ein Wörterbuch mit der Struktur als Schlüssel und der entsprechenden Bewehrungszeichnung als Wert.structure_list ist die Liste der Strukturobjekte, für die eine Bewehrungszeichnung erstellt werden soll. Wenn diese nicht angegeben wird, werden die Strukturen aus dem aktiven Dokument ausgewählt, das als Host für Bewehrungsobjekte dient.rebars_list ist die Liste der Bewehrungsobjekte, die in die Zeichnung aufgenommen werden sollen. Wenn diese nicht angegeben wird, werden die Bewehrungsobjekte mit Host in structure_list aus dem aktiven Dokument ausgewählt.
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing
Rect = Draft.makeRectangle(400, 400)
Structure1 = Arch.makeStructure(Rect, height=1600)
Structure1.ViewObject.Transparency = 80
Structure2 = Arch.makeStructure(Rect, height=1600)
Structure2.ViewObject.Transparency = 80
Structure2.Placement = FreeCAD.Placement(FreeCAD.Vector(1000, 0, 0), FreeCAD.Rotation(FreeCAD.Vector(0, 0, 1), 0))
FreeCAD.ActiveDocument.recompute()
# Gerade Bewehrungsstäbe erstellen
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=Structure1,
facename="Face6",
)
# L-förmige Bewehrungsstäbe mit Haken entlang der x-Achse erstellen
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
main_rebars_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=40,
ties_sequence=("Tie1", "Tie2"),
structure=Structure2,
facename="Face6",
)
# Reinforcement-Zeichnung erstellen
for drawing_view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
make_reinforcement_drawing.makeStructuresReinforcementDrawing(
structure_list=None,
rebars_list=None,
view=drawing_view,
rebars_stroke_width=0.35,
rebars_color_style="Automatic",
rebars_color=(0.67, 0.0, 0.0),
structure_stroke_width=0.5,
structure_color_style="Automatic",
structure_color=(0.3, 0.9, 0.91),
drawing_left_offset=20,
drawing_top_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_right_offset=10,
dimension_top_offset=10,
dimension_bottom_offset=10,
)
1. Ein FreeCAD-Modell öffnen, dass Bewehrungen enthält, die mit dem Addon Reinforcement erstellt wurden.
2. In der FreeCAD-Python-Konsole den folgenden Codeausschnitt kopieren, um für jedes Arch Struktur-Element eine Bewehrungszeichnung und Bemaßung aus verschiedenen Ansichten zu erstellen.
from ReinforcementDrawing.make_reinforcement_drawing import (
makeStructuresReinforcementDrawing,
)
for view in ("Front", "Rear", "Left", "Right", "Top", "Bottom"):
struct_drawing_page_dict = makeStructuresReinforcementDrawing(
view=view, perform_dimensioning=True
)
for drawing_page in struct_drawing_page_dict.values():
drawing_view = drawing_page.Views[0]
drawing_view.setExpression(
"LeftOffset",
u".Template.Width.Value / 2 - .Width.Value * .Scale / 2",
)
drawing_view.setExpression(
"TopOffset",
u".Template.Height.Value / 2 - .Height.Value * .Scale / 2",
)
drawing_view.recompute(True)
drawing_page.recompute(True)
Ein SVG-Ansichtsobjekt zur Bemessung von Bewehrungsstäben.
Beispiel: "%M %C⌀%D,span=%S"
Hier: %M -> Rebar.Mark
%C -> Rebar.Amount
%D -> Rebar.Diameter
%S -> Rebar span length
Siehe auch: Arch API,Reinforcement-API und Grundlagen der Skripterstellung in FreeCAD.
Das Werkzeug Reinforcement Bemaßen kann in Makros und von der Python-Konsole aus mit folgender Funktion verwendet werden:
from ReinforcementDrawing.ReinforcementDimensioning import (
makeReinforcementDimensioningObject,
)
dimension_object = makeReinforcementDimensioningObject(
rebar,
parent_drawing_view,
drawing_page=None,
dimension_label_format="%M %C⌀%D,span=%S",
dimension_font_family="DejaVu Sans",
dimension_font_size=3,
dimension_stroke_width=0.25,
dimension_line_style="Continuous",
dimension_line_color=(0.0, 0.0, 0.50),
dimension_text_color=(0.0, 0.33, 0.0),
dimension_single_rebar_line_start_symbol="None",
dimension_single_rebar_line_end_symbol="FilledArrow",
dimension_multi_rebar_line_start_symbol="FilledArrow",
dimension_multi_rebar_line_end_symbol="FilledArrow",
dimension_line_mid_point_symbol="Dot",
dimension_left_offset_increment=10,
dimension_right_offset_increment=10,
dimension_top_offset_increment=10,
dimension_bottom_offset_increment=10,
dimension_single_rebar_outer_dim=False,
dimension_multi_rebar_outer_dim=True,
dimension_single_rebar_text_position_type="StartOfLine",
dimension_multi_rebar_text_position_type="MidOfLine",
)
ReinforcementDimensioning-Objekt für das angegebene rebar-Objekt zurück.parent_drawing_view ist das ReinforcementDrawingView-Objekt, das eine Zeichnung des rebar-Objekts enthält.drawing_page ist das Objekt vom Typ TechDraw::DrawPage, das zur Anzeige von parent_drawing_view verwendet wird.dimension_label_format ist das für die Bemaßungsbeschriftung verwendete Format. Beispiel: "%M %C⌀%D,span=%S"
Hier: %M -> Rebar.Mark
%C -> Rebar.Amount
%D -> Rebar.Diameter
%S -> Rebar span length
dimension_font_family ist die Schriftartfamilie der Bemaßungsbeschriftung.dimension_font_size ist die Schriftgröße der Bemaßungsbeschriftung.dimension_stroke_width ist die Strichstärke der Bemaßungslinie.dimension_line_style ist der Strichstil der Bemaßungslinie. Er kann „Continuous” (durchgehend), „Dash” (Strich), „Dot” (Punkt), „DashDot” (Strich-Punkt) oder „DashDotDot” (Strich-Punkt-Punkt) sein.dimension_line_color ist die Farbe der Bemaßungslinie.Format: (r, g, b) Die Werte für r, g und b müssen zwischen 0 und 1 liegen. Daher müssen Sie die Werte für r, g und b möglicherweise durch 255 teilen, um einen Wert zwischen 0 und 1 zu erhalten. Stellen Sie sicher, dass r, g und b Float-Werte sind.
dimension_text_color ist die Farbe der Bemaßungsbeschriftung.dimension_single_rebar_line_start_symbol ist das Symbol für den Beginn der Bemaßungslinie, falls eine einzelne Bewehrungsstange sichtbar ist. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_single_rebar_line_end_symbol ist das Symbol für das Ende der Bemaßungslinie, wenn eine einzelne Bewehrung sichtbar ist. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_multi_rebar_line_start_symbol ist das Symbol für den Beginn der Bemaßungslinie, wenn mehrere Bewehrungsstäbe sichtbar sind. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_multi_rebar_line_end_symbol ist das Endsymbol der Bemaßungslinie, wenn mehrere Bewehrungsstäbe sichtbar sind. Es kann „FilledArrow”, „Tick”, „Dot” oder „None” sein.dimension_line_mid_point_symbol ist das Symbol für den Mittelpunkt der Bemaßungslinie. Es kann „Tick”, „Dot” oder „None” sein.* dimension_left_offset_increment ist der Inkrementwert für den linken Versatz, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_right_offset_increment ist die Schrittweite des rechten Versatzes, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_top_offset_increment ist die Schrittweite des oberen Versatzes, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_bottom_offset_increment ist die Erhöhung des unteren Versatzes, um jede neue Bemaßungsbeschriftung von der Zeichnung weg zu verschieben.dimension_single_rebar_outer_dim gibt an, ob Bemaßungslinien außerhalb der Bewehrungszeichnung liegen sollen, wenn eine einzelne Bewehrung sichtbar ist.dimension_multi_rebar_outer_dim gibt an, ob Bemaßungslinien außerhalb der Bewehrungszeichnung liegen sollen, wenn mehrere Bewehrungsstäbe sichtbar sind.dimension_single_rebar_text_position_type gibt den Positionstyp der Bemaßungsbeschriftung an, wenn eine einzelne Bewehrungsstange sichtbar ist. Er kann „StartOfLine“, „MidOfLine“ oder „EndOfLine“ sein.dimension_multi_rebar_text_position_type gibt den Positionstyp der Bemaßungsbeschriftung an, wenn mehrere Bewehrungsstäbe sichtbar sind. Er kann „StartOfLine”, „MidOfLine” oder „EndOfLine” sein.
from pathlib import Path
import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars
from ReinforcementDrawing import make_reinforcement_drawing
from ReinforcementDrawing.ReinforcementDimensioning import (
makeReinforcementDimensioningObject,
)
Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()
# Create Straight Rebars
TwoTiesSixRebars.makeTwoTiesSixRebars(
l_cover_of_ties=40,
r_cover_of_ties=40,
t_cover_of_ties=40,
b_cover_of_ties=40,
offset_of_ties=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=Structure,
facename="Face6",
)
rebars = Draft.get_objects_of_type(FreeCAD.ActiveDocument.Objects, "Rebar")
# Create Reinforcement Drawing
drawing_page = make_reinforcement_drawing.makeReinforcementDrawing(
structure=Structure,
rebars_list=rebars,
view="Front",
rebars_stroke_width=0.35,
rebars_color_style="Automatic",
rebars_color=(0.67, 0.0, 0.0),
structure_stroke_width=0.5,
structure_color_style="Automatic",
structure_color=(0.3, 0.9, 0.91),
drawing_left_offset=20,
drawing_top_offset=20,
drawing_min_right_offset=20,
drawing_min_bottom_offset=20,
drawing_max_width=0, # It is set to 0 to automatically set the default width based on other parameters
drawing_max_height=0, # It is set to 0 to automatically set the default height based on other parameters
template_file=str(Path(make_reinforcement_drawing.__file__).parent.absolute() / "Templates" / "A4_Landscape_blank.svg"),
dimension_left_offset=10,
dimension_right_offset=10,
dimension_top_offset=10,
dimension_bottom_offset=10,
)
visible_rebars = drawing_page.Views[0].VisibleRebars
# Create Reinforcement Dimensioning for single rebar
makeReinforcementDimensioningObject(
visible_rebars[0],
parent_drawing_view,
drawing_page=None,
dimension_label_format="%M %C⌀%D,span=%S",
dimension_font_family="DejaVu Sans",
dimension_font_size=3,
dimension_stroke_width=0.25,
dimension_line_style="Continuous",
dimension_line_color=(0.0, 0.0, 0.50),
dimension_text_color=(0.0, 0.33, 0.0),
dimension_single_rebar_line_start_symbol="None",
dimension_single_rebar_line_end_symbol="FilledArrow",
dimension_multi_rebar_line_start_symbol="FilledArrow",
dimension_multi_rebar_line_end_symbol="FilledArrow",
dimension_line_mid_point_symbol="Dot",
dimension_left_offset_increment=10,
dimension_right_offset_increment=10,
dimension_top_offset_increment=10,
dimension_bottom_offset_increment=10,
dimension_single_rebar_outer_dim=False,
dimension_multi_rebar_outer_dim=True,
dimension_single_rebar_text_position_type="StartOfLine",
dimension_multi_rebar_text_position_type="MidOfLine",
)
# Create Reinforcement Dimensioning for all visible rebars in drawing view
for visible_rebar in visible_rebars:
makeReinforcementDimensioningObject(
visible_rebar,
parent_drawing_view,
drawing_page=None,
dimension_label_format="%M %C⌀%D,span=%S",
dimension_font_family="DejaVu Sans",
dimension_font_size=3,
dimension_stroke_width=0.25,
dimension_line_style="Continuous",
dimension_line_color=(0.0, 0.0, 0.50),
dimension_text_color=(0.0, 0.33, 0.0),
dimension_single_rebar_line_start_symbol="None",
dimension_single_rebar_line_end_symbol="FilledArrow",
dimension_multi_rebar_line_start_symbol="FilledArrow",
dimension_multi_rebar_line_end_symbol="FilledArrow",
dimension_line_mid_point_symbol="Dot",
dimension_left_offset_increment=10,
dimension_right_offset_increment=10,
dimension_top_offset_increment=10,
dimension_bottom_offset_increment=10,
dimension_single_rebar_outer_dim=False,
dimension_multi_rebar_outer_dim=True,
dimension_single_rebar_text_position_type="StartOfLine",
dimension_multi_rebar_text_position_type="MidOfLine",
)